package com.example.forum_system.utils;

import org.apache.commons.codec.digest.DigestUtils;

/**
 * Created with IntelliJ IDEA.
 * Description: 用于 MD5 加密的工具类
 * User: Li_Xiaochi
 * Date: 2025/4/26
 * Time: 16:30
 */
public class MD5Util {

    /**
     * 对单个字符串进行加密
     * @param str 明文
     * @return 密文
     */
    public static String md5(String str) {
        // DigestUtils.md5Hex(str)，根据传入的原字符串 str，生成一个经过MD5加密的密文
        return DigestUtils.md5Hex(str);
    }

    /**
     * 对密码进行加密: ①原密码；②生成扰动字符；③原密码进行 MD5 加密 = 密文1
     * ④密文1 + 扰动字符 = 密文2；⑤对密文2进行 MD5 加密
     * @param str 密码明文
     * @param salt 盐扰动字符
     * @return 密文
     */
    public static String md5Salt(String str, String salt) {
        return md5(md5(str) + salt);
    }
}
